package com.ruoyi.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 设备对象 device
 * 
 * @author ruoyi
 * @date 2021-03-25
 */
public class Device extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备主键 */
    private Long deviceid;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String devicename;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String devicenumber;

    /** 设备版本号 */
    @Excel(name = "设备版本号")
    private String deviceversion;

    /** 分拣中心ID */
    @Excel(name = "分拣中心ID")
    private String sortingid;

    /** 运营商ID */
    @Excel(name = "运营商ID")
    private String operatorsid;

    /** 合伙人ID */
    @Excel(name = "合伙人ID")
    private Long partnersid;

    /** 场地ID */
    @Excel(name = "场地ID")
    private Long venuesid;

    /** 设备状态 1.正常 2.故障 3.离线 */
    @Excel(name = "设备状态 1.正常 2.故障 3.离线")
    private Long devicestatus;

    /** 设备二维码 */
    @Excel(name = "设备二维码")
    private String deviceqrcode;

    /** 预警库存标识（是否预警根据该标识数量来控制） */
    @Excel(name = "预警库存标识", readConverterExp = "是=否预警根据该标识数量来控制")
    private Long stockflag;

    /** 最大库存容量 */
    @Excel(name = "最大库存容量")
    private Long stockmaxqty;

    /** 省 */
    @Excel(name = "省")
    private String province;

    /** 市 */
    @Excel(name = "市")
    private String city;

    /** 区 */
    @Excel(name = "区")
    private String area;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 满溢度 */
    @Excel(name = "满溢度")
    private Long spillover;

    /** 总公司垃圾分成比例 */
    @Excel(name = "总公司垃圾分成比例")
    private BigDecimal platformgrcomrate;

    /** 总公司商品分成比例 */
    @Excel(name = "总公司商品分成比例")
    private BigDecimal platformgoodscomrate;

    /** 分拣中心垃圾分成比例 */
    @Excel(name = "分拣中心垃圾分成比例")
    private BigDecimal sortinggrcomrate;

    /** 分拣中心商品分成比例 */
    @Excel(name = "分拣中心商品分成比例")
    private BigDecimal sortinggoodscomrate;

    /** 运营商垃圾分成比例 */
    @Excel(name = "运营商垃圾分成比例")
    private BigDecimal operatorsgrcomrate;

    /** 合伙人垃圾分成比例 */
    @Excel(name = "合伙人垃圾分成比例")
    private BigDecimal partnersgrcomrate;

    /** 合伙人商品分成比例 */
    @Excel(name = "合伙人商品分成比例")
    private BigDecimal partnersgoodscomrate;

    /** 合伙人上级：1.分拣中心 2.运营商 */
    @Excel(name = "合伙人上级：1.分拣中心 2.运营商")
    private Long partnersparent;

    /** 是否删除 1.未删除 2.已删除 */
    @Excel(name = "是否删除 1.未删除 2.已删除")
    private Long isdel;

    /** 是否禁用 1 禁用 2 未禁用 */
    @Excel(name = "是否禁用 1 禁用 2 未禁用")
    private Long isflag;

    /** 是否缺货 1.未缺货 2.已缺货 */
    @Excel(name = "是否缺货 1.未缺货 2.已缺货")
    private Long isstock;

    /** 故障时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "故障时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date faulttime;

    /** 离线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date offlinetime;

    /** 缺货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缺货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date stockouttime;

    /** 满溢时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "满溢时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date spillovertime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date ctime;

    public void setDeviceid(Long deviceid) 
    {
        this.deviceid = deviceid;
    }

    public Long getDeviceid() 
    {
        return deviceid;
    }
    public void setDevicename(String devicename) 
    {
        this.devicename = devicename;
    }

    public String getDevicename() 
    {
        return devicename;
    }
    public void setDevicenumber(String devicenumber) 
    {
        this.devicenumber = devicenumber;
    }

    public String getDevicenumber() 
    {
        return devicenumber;
    }
    public void setDeviceversion(String deviceversion) 
    {
        this.deviceversion = deviceversion;
    }

    public String getDeviceversion() 
    {
        return deviceversion;
    }
    public void setSortingid(String sortingid) 
    {
        this.sortingid = sortingid;
    }

    public String getSortingid() 
    {
        return sortingid;
    }
    public void setOperatorsid(String operatorsid) 
    {
        this.operatorsid = operatorsid;
    }

    public String getOperatorsid() 
    {
        return operatorsid;
    }
    public void setPartnersid(Long partnersid) 
    {
        this.partnersid = partnersid;
    }

    public Long getPartnersid() 
    {
        return partnersid;
    }
    public void setVenuesid(Long venuesid) 
    {
        this.venuesid = venuesid;
    }

    public Long getVenuesid() 
    {
        return venuesid;
    }
    public void setDevicestatus(Long devicestatus) 
    {
        this.devicestatus = devicestatus;
    }

    public Long getDevicestatus() 
    {
        return devicestatus;
    }
    public void setDeviceqrcode(String deviceqrcode) 
    {
        this.deviceqrcode = deviceqrcode;
    }

    public String getDeviceqrcode() 
    {
        return deviceqrcode;
    }
    public void setStockflag(Long stockflag) 
    {
        this.stockflag = stockflag;
    }

    public Long getStockflag() 
    {
        return stockflag;
    }
    public void setStockmaxqty(Long stockmaxqty) 
    {
        this.stockmaxqty = stockmaxqty;
    }

    public Long getStockmaxqty() 
    {
        return stockmaxqty;
    }
    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setArea(String area) 
    {
        this.area = area;
    }

    public String getArea() 
    {
        return area;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }
    public void setSpillover(Long spillover) 
    {
        this.spillover = spillover;
    }

    public Long getSpillover() 
    {
        return spillover;
    }
    public void setPlatformgrcomrate(BigDecimal platformgrcomrate) 
    {
        this.platformgrcomrate = platformgrcomrate;
    }

    public BigDecimal getPlatformgrcomrate() 
    {
        return platformgrcomrate;
    }
    public void setPlatformgoodscomrate(BigDecimal platformgoodscomrate) 
    {
        this.platformgoodscomrate = platformgoodscomrate;
    }

    public BigDecimal getPlatformgoodscomrate() 
    {
        return platformgoodscomrate;
    }
    public void setSortinggrcomrate(BigDecimal sortinggrcomrate) 
    {
        this.sortinggrcomrate = sortinggrcomrate;
    }

    public BigDecimal getSortinggrcomrate() 
    {
        return sortinggrcomrate;
    }
    public void setSortinggoodscomrate(BigDecimal sortinggoodscomrate) 
    {
        this.sortinggoodscomrate = sortinggoodscomrate;
    }

    public BigDecimal getSortinggoodscomrate() 
    {
        return sortinggoodscomrate;
    }
    public void setOperatorsgrcomrate(BigDecimal operatorsgrcomrate) 
    {
        this.operatorsgrcomrate = operatorsgrcomrate;
    }

    public BigDecimal getOperatorsgrcomrate() 
    {
        return operatorsgrcomrate;
    }
    public void setPartnersgrcomrate(BigDecimal partnersgrcomrate) 
    {
        this.partnersgrcomrate = partnersgrcomrate;
    }

    public BigDecimal getPartnersgrcomrate() 
    {
        return partnersgrcomrate;
    }
    public void setPartnersgoodscomrate(BigDecimal partnersgoodscomrate) 
    {
        this.partnersgoodscomrate = partnersgoodscomrate;
    }

    public BigDecimal getPartnersgoodscomrate() 
    {
        return partnersgoodscomrate;
    }
    public void setPartnersparent(Long partnersparent) 
    {
        this.partnersparent = partnersparent;
    }

    public Long getPartnersparent() 
    {
        return partnersparent;
    }
    public void setIsdel(Long isdel) 
    {
        this.isdel = isdel;
    }

    public Long getIsdel() 
    {
        return isdel;
    }
    public void setIsflag(Long isflag) 
    {
        this.isflag = isflag;
    }

    public Long getIsflag() 
    {
        return isflag;
    }
    public void setIsstock(Long isstock) 
    {
        this.isstock = isstock;
    }

    public Long getIsstock() 
    {
        return isstock;
    }
    public void setFaulttime(Date faulttime) 
    {
        this.faulttime = faulttime;
    }

    public Date getFaulttime() 
    {
        return faulttime;
    }
    public void setOfflinetime(Date offlinetime) 
    {
        this.offlinetime = offlinetime;
    }

    public Date getOfflinetime() 
    {
        return offlinetime;
    }
    public void setStockouttime(Date stockouttime) 
    {
        this.stockouttime = stockouttime;
    }

    public Date getStockouttime() 
    {
        return stockouttime;
    }
    public void setSpillovertime(Date spillovertime) 
    {
        this.spillovertime = spillovertime;
    }

    public Date getSpillovertime() 
    {
        return spillovertime;
    }
    public void setCtime(Date ctime) 
    {
        this.ctime = ctime;
    }

    public Date getCtime() 
    {
        return ctime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deviceid", getDeviceid())
            .append("devicename", getDevicename())
            .append("devicenumber", getDevicenumber())
            .append("deviceversion", getDeviceversion())
            .append("sortingid", getSortingid())
            .append("operatorsid", getOperatorsid())
            .append("partnersid", getPartnersid())
            .append("venuesid", getVenuesid())
            .append("devicestatus", getDevicestatus())
            .append("deviceqrcode", getDeviceqrcode())
            .append("stockflag", getStockflag())
            .append("stockmaxqty", getStockmaxqty())
            .append("province", getProvince())
            .append("city", getCity())
            .append("area", getArea())
            .append("address", getAddress())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("spillover", getSpillover())
            .append("platformgrcomrate", getPlatformgrcomrate())
            .append("platformgoodscomrate", getPlatformgoodscomrate())
            .append("sortinggrcomrate", getSortinggrcomrate())
            .append("sortinggoodscomrate", getSortinggoodscomrate())
            .append("operatorsgrcomrate", getOperatorsgrcomrate())
            .append("partnersgrcomrate", getPartnersgrcomrate())
            .append("partnersgoodscomrate", getPartnersgoodscomrate())
            .append("partnersparent", getPartnersparent())
            .append("isdel", getIsdel())
            .append("isflag", getIsflag())
            .append("isstock", getIsstock())
            .append("faulttime", getFaulttime())
            .append("offlinetime", getOfflinetime())
            .append("stockouttime", getStockouttime())
            .append("spillovertime", getSpillovertime())
            .append("ctime", getCtime())
            .toString();
    }
}
